iT邦幫忙

2025 iThome 鐵人賽

DAY 5
2

嗨!歡迎回到上班族的命令列生存手冊。上一章節我們提到了字體,以及 Nerd Font。談到安裝東西,就不能不提到「套件管理工具」。一般在 Linux 系統之中,都會內建一個相關的工具來讓使用者安裝軟體。

習慣 Windows 或是 macOS 的使用者,可能會認為軟體是安裝完後可以開啟的某種「圖形應用程式」。不過在文字界面之中,我們下的指令,其實也是一種程式,包括這次提到的「套件管理工具」,你可以想像成他是「沒有畫面的程式」或是「文字界面程式」。套件管理程式也能安裝「圖形應用程式」,例如在 Linux 中安裝 Sublime Text
並且你可能會聽到有些人用「套件」(Package,中國翻譯成「包」) 來稱呼這些程式。基本上,能安裝進來的都能視為套件。
打個比方,今天我們想安裝 figlet 這個軟體 (以下都會改稱「套件」囉),他可以印出超酷大寫字,我們該怎麼做呢?

https://ithelp.ithome.com.tw/upload/images/20250919/20141615UkYVYp9aCL.png

套件管理工具

homebrew on mac

macOS 一出廠並沒有自帶套件管理工具,因此需要另外安裝一套第三方工具 homebrew 來管理套件。如果讀者發現在 Shell 裡頭輸入 brew 沒反應的話,請直接貼上以下內容執行即可:

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

註:一般來說,不要隨意執行網路上來路不明的 Script,才是一個好習慣。 雖然上面資訊是從官網複製,也建議讀者可以開啟上述連結前往官方網站查看相關資訊。

Linux/macOS

請使用發行版提供給你的工具,例如 Ubuntu (或其他延伸自 Debian) 的系統使用 apt 。筆者本人使用 Fedora ,Fedora 或是其他延伸自它的發行版提供的工具是 dnf,使用上很類似,自行代換即可。
至於 macOS,請將以下的 dnf 更換為 brew 即可。

搜尋 figlet 套件能否提供安裝?

通常都會提供 search 方法,使用方式是 $ dnf search <想搜尋的套件名稱>

$ dnf search figlet

Ubuntu 的下法是

$ sudo apt search figlet

用 Homebrew 的讀者,請這樣下:

$ brew search figlet

https://ithelp.ithome.com.tw/upload/images/20250919/2014161518prbhKT79.png

更新套件庫

注意到與上面的指令差異多了 sudo,在 POSIX 系統中,需要有超級使用者權限才能更新套件庫。
套件可能已經有新的版本,或是套件庫有其他的更動,通常在安裝套件以前更新套件庫會是個好主義。

$ sudo dnf update

Ubuntu 的下法是

$ sudo apt update

Homebrew 則是

$ brew update

安裝套件

這個指令也有 sudo,在 POSIX 系統中,需要有超級使用者權限才能安裝套件。
就像 Windows 安裝有些軟體時,會跳出使用者帳戶控制 (User Access Control)視窗確認。
在安裝以前,套件管理器通常還會幫你整理需要一併安裝的相依套件 (該套件用了其他的套件,而目前本機沒有)。和你確認之後才會真的安裝。

$ sudo dnf install <套件名稱>

$ sudo dnf install figlet

Ubuntu 的下法是 $ apt install <套件名稱>

$ sudo apt install figlet

Homebrew 則是 $ brew install <套件名稱>

$ brew install figlet

https://ithelp.ithome.com.tw/upload/images/20250919/20141615YjV9g7lW4U.png

檢查已安裝的套件

dnf list 後面提供套件名稱,如果有安裝就會印出結果

$ dnf list <套件名稱>

$ dnf list figlet

Ubuntu 的下法是 $ apt list <套件名稱>

$ sudo apt list figlet

Homebrew 也是類似 $ brew list <套件名稱>

$ brew list figlet

https://ithelp.ithome.com.tw/upload/images/20250919/20141615Gix1O5Plop.png

移除套件

最後,如果想要移除套件,只要使用 $ dnf remove <套件名稱> 即可。(通常會是 remove 或是 uninstall …), Ubuntu 的下法是 $ apt remove <套件名稱>
如果有用不到的相依套件,也就是除了這個要被刪除的以外,沒有其他人使用的套件,也會被一併移除。Homebrew 也有類似用法,將 dnf 換成 brew 即是移除的指令。
同樣需要使用者同意,才會真的移除。

$ dnf remove figlet

https://ithelp.ithome.com.tw/upload/images/20250919/20141615lbMKnpixtQ.png

題外

還記得我們在 Day02 什麼是 Shell?什麼是 Terminal? 題到的 Standard Input 嗎?剛好 figlet 可以拿來作為範例。
直接執行 figlet 不輸入任何字,他會等待使用者輸入,也就是等待 Standard Input 也就是鍵盤打字給他資訊。但如果你將他要印的資料直接打在後面,他就會直接輸出,因為你已經將文字作為 Standard Input 給他了。

有了套件的概念之後,開啟 Terminal Emulator 遇到的第一題,就跟剛到一個全新的地點很像,第一個念頭可能是:「我在哪裡呀?」。而在 Shell 之中,我們該怎麼知道現在在哪呢?靜待下回分解。


上一篇
Day04 你需要一個更棒的字體
下一篇
Day06 熟悉環境篇:我在哪裡? 簡介 ls 指令
系列文
上班族的命令列 (CLI) 生存手冊6
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

2
AndyAWD
iT邦新手 2 級 ‧ 2025-09-19 22:06:49

居然還有下回,太吸引人了吧

必須要有!不然會斷賽!!

我要留言

立即登入留言